class_name ItemData
extends Resource

## 物品数据类，定义物品的基本属性
## 包含物品名称、描述、图标、类型、堆叠数量等信息

enum ItemType {
	WEAPON,     # 武器
	ARMOR,      # 护甲
	CONSUMABLE, # 消耗品
	MATERIAL,   # 材料
	QUEST       # 任务物品
}

@export var item_name: String = ""
@export var description: String = ""
@export var icon_path: String = ""
@export var item_type: ItemType = ItemType.MATERIAL
@export var max_stack_size: int = 1
@export var value: int = 0
@export var is_consumable: bool = false
@export var rarity: int = 1  # 1-5 稀有度

## 获取物品的显示名称
func get_display_name() -> String:
	return item_name

## 获取物品的完整描述
func get_full_description() -> String:
	var full_desc = description
	if value > 0:
		full_desc += "\n价值: " + str(value)
	return full_desc

## 检查物品是否可以堆叠
func can_stack() -> bool:
	return max_stack_size > 1

## 获取稀有度颜色
func get_rarity_color() -> Color:
	match rarity:
		1: return Color.WHITE      # 普通
		2: return Color.GREEN      # 优秀
		3: return Color.BLUE       # 稀有
		4: return Color.PURPLE     # 史诗
		5: return Color.ORANGE     # 传说
		_: return Color.WHITE

## 使用物品（如果是消耗品）
func use_item() -> bool:
	if not is_consumable:
		return false
	
	# 在这里添加具体的使用效果
	print("使用了物品: ", item_name)
	return true